// 更新用户信息云函数
const cloud = require('wx-server-sdk')

cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
})

const db = cloud.database()

exports.main = async (event, context) => {
  const wxContext = cloud.getWXContext()
  const updateData = event
  
  try {
    console.log('更新用户信息:', {
      openid: wxContext.OPENID,
      updateData: updateData
    })

    // 添加更新时间
    updateData.updated_at = new Date()

    // 更新用户信息
    const result = await db.collection('users')
      .where({
        openid: wxContext.OPENID
      })
      .update({
        data: updateData
      })

    if (result.stats.updated > 0) {
      console.log('用户信息更新成功')
      return {
        status: 'success',
        message: '用户信息更新成功',
        data: updateData
      }
    } else {
      return {
        status: 'error',
        message: '用户不存在或更新失败'
      }
    }

  } catch (error) {
    console.error('更新用户信息失败:', error)
    return {
      status: 'error',
      message: '更新用户信息失败',
      error: error.message
    }
  }
}
